// Source file: D:\\Users\\afpa\\Documents\\workspace\\20-otarie\\src\\fr.afpa.biblio.dao\\EmployesDao.java

package fr.afpa.biblio.dao;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Iterator;

import fr.afpa.biblio.exception.BiblioException;
import fr.afpa.biblio.metier.*;

/**
 * Classe de Mock d'un DAO pour la classe Adherent
 * 
 * @author pev
 * @version 2.0
 * 
 */
public class EmployesDao {

	private ArrayList<Employe> employeDB = new ArrayList<Employe>();
	

	/**
	 * Le constructeur qui cree les donnees de la fausse DB d'hadherent
	 * @throws BiblioException 
	 * @throws IllegalAccessException 
	 * @throws InstantiationException 
	 */
	public EmployesDao()  {
		
		SimpleDateFormat sdf = new SimpleDateFormat("DD/MM/YYYY");
		
		Employe empl1, empl2, empl3;
		try {
			empl1 = new Employe("nom101", "prenom101", sdf.parse("01/01/1971"), "h101", 101, "pwd101", "pseud101", new ArrayList<EmpruntEnCours>(),"matric101",EnumCategorieEmploye.BIBLIOTHECAIRE);
			empl2 = new Employe("nom102", "prenom102", sdf.parse("02/02/1972"), "h102", 102, "pwd102", "pseud102", new ArrayList<EmpruntEnCours>(),"matric102",EnumCategorieEmploye.BIBLIOTHECAIRE);
			empl3 = new Employe("nom103", "prenom103", sdf.parse("03/03/1973"), "h103", 103, "pwd103", "pseud103", new ArrayList<EmpruntEnCours>(),"matric103",EnumCategorieEmploye.BIBLIOTHECAIRE);

			employeDB.add(empl1);
			employeDB.add(empl2);
			employeDB.add(empl3);
			
		}
		catch (InstantiationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		catch (BiblioException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
		
	}

	/**
	 * renvoie l'Employe dont l'idEmploye est l'id en argument.
	 * 
	 * @param id
	 *            de l'Employe a retrouver;
	 * @return l'Employe trouve sinon null
	 * @roseuid 5240D5AB019C
	 */
	public Employe findByKey(int _id) {
		Iterator<Employe> it;
		it = employeDB.iterator();

		while (it.hasNext()) {
			Employe e = it.next();
			if (e.getIdUtilisateur() == _id) {
				
				return e;
			}
		}
		return null;
	}
	
	public static void main(String[] args){
		EmployesDao me = new EmployesDao();
		Employe empl = me.findByKey(101);
		
		System.out.println("IdUtilisateur : " + empl.getIdUtilisateur());
		System.out.println("IdUtilisateur : " + empl.getNom());
		System.out.println("IdUtilisateur : " + empl.getPrenom());
	
	}
}
